
// 编写一个高效的算法来判断 m x n 矩阵中，是否存在一个目标值。该矩阵具有如下特性：
    // 每行中的整数从左到右按升序排列。
    // 每行的第一个整数大于前一行的最后一个整数。


// 使用二分查找

bool searchMatrix(int** matrix, int matrixSize, int* matrixColSize, int target){
    int m = matrixSize, n = matrixColSize[0];

    // 取左下角的值为起点，大于target则向上走，小于target则向右走
    int i = m-1, j = 0;

    while (i >= 0 && j < n) {
        int temp = matrix[i][j];
        if (temp > target) i--;
        else if (temp < target) j++;
        else return true;
    }
    return false;
}